# Contributor: Oleg Titov <oleg.titov@gmail.com>
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=aom
pkgver=3.4.0
pkgrel=0
pkgdesc="Alliance for Open Media (AOM) AV1 codec SDK"
url="https://aomedia.org/"
arch="all"
license="custom"
options="net !check" # tests require a lot of time
makedepends="cmake perl python3 yasm samurai"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://aomedia.googlesource.com/aom/+archive/v$pkgver.tar.gz
	fix-stack-size-e53da0b.patch"

case "$CARCH" in
	ppc64le) makedepends="$makedepends linux-headers" ;;
esac

# secfixes:
#   3.1.1-r0:
#     - CVE-2021-30473
#     - CVE-2021-30474
#     - CVE-2021-30475

build() {
	local _neon_opt=
	case "$CARCH" in
		armhf) _neon_opt="-DENABLE_NEON=OFF" ;;
		armv7) _neon_opt="-DAOM_NEON_INTRIN_FLAG=-mfpu=neon" ;;
	esac

	cmake -B build -G Ninja \
		$_neon_opt \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
		-DCMAKE_C_FLAGS="$CFLAGS"
	ninja -C build
}

check() {
	local _testdata="$builddir"/test_data
	mkdir -p $_testdata
	export LIBAOM_TEST_DATA_PATH=$_testdata
	ninja -C build testdata
	ninja -C build runtests
}

package() {
	DESTDIR="$pkgdir" ninja -C build install

	install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ README.md
	install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ LICENSE
	install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname"/ PATENTS
}

unpack() {
	mkdir -p "$builddir"

	tar -xf "$srcdir/$pkgname-$pkgver.tar.gz" \
		-C "$builddir" > /dev/null
}

sha512sums="
cb375445410319aac4149baad5f7b8f2e863a0fc47247b55b640edf8e650a766276bcebe107f2fbe9828990ab3b725fbf553f97f74b5e2d291dd12626a205287  aom-3.4.0.tar.gz
573a6c9cd1e9c71a0612f750fb1b69ee65ab86364d3aa78ef51b8fb20633c69b97026d0685dedeabb51f31d0dab7c651d1fe5c72e0dc9f14b8ed2704584934a9  fix-stack-size-e53da0b.patch
"
